Disable echo back instead of setting tty to raw in Inferior Python
authorkobarity <kobarity@gmail.com>
Thu, 20 Mar 2025 10:03:33 +0000 (19:03 +0900)
committerMattias EngdegÄrd <mattiase@acm.org>
Fri, 18 Apr 2025 12:53:20 +0000 (14:53 +0200)
* lisp/progmodes/python.el (python-shell-setup-code): Change the
Python setup code.  (Bug#76943)

(cherry picked from commit 4c5c20ddc2cdde570ccf54c4aa60644828ee213d)

lisp/progmodes/python.el

index f966190ea6d5fe06210a50ce23660f1275c3764d..e593ea93ff41698ede21105628717146407fe869 100644 (file)
@@ -3528,11 +3528,13 @@ eventually provide a shell."
 (defconst python-shell-setup-code
   "\
 try:
-    import tty
+    import termios
 except ImportError:
     pass
 else:
-    tty.setraw(0)"
+    attr = termios.tcgetattr(0)
+    attr[3] &= ~termios.ECHO
+    termios.tcsetattr(0, termios.TCSADRAIN, attr)"
   "Code used to setup the inferior Python processes.")
 
 (defconst python-shell-eval-setup-code